-- These MIBs were created on 01/08/2001
-- This module defines enterprise MIBs for nsrp
-- 
-- Copyright (c) 1999-2004, Juniper Networks, Inc.
-- All rights reserved.
-- 
-- MODULE-IDENTITY
--  OrgName
--    Juniper Networks, Inc.
--  ContactInfo
--     Customer Support
--     
--     1194 North Mathilda Avenue 
--     Sunnyvale, California 94089-1206
--     USA
--     
--     Tel: 1-800-638-8296
--     E-mail: customerservice@juniper.net
--     HTTP://www.juniper.net"
--
--  Descr
--    This module defines the object that are used for
--    netscreen redundancy protocol 
--
--  Last modified date: 05/03/2004
--  Modified copyright and contact info
--
--  Last modified date: 06/04/2003
--  Last modified date: 11/14/2003

NETSCREEN-NSRP-MIB DEFINITIONS ::= BEGIN
IMPORTS

    DisplayString,PhysAddress   FROM RFC1213-MIB 
    netscreenNsrp       FROM NETSCREEN-SMI;
    

-- general info
netscreenNsrpGeneral OBJECT IDENTIFIER ::= { netscreenNsrp 1 }
-- warm standby group mibs
netscreenNsrpVSD OBJECT IDENTIFIER ::= { netscreenNsrp 2 }
-- hot standby group mibs
netscreenNsrpRTO OBJECT IDENTIFIER ::= { netscreenNsrp 3 }
-- Netscreen Track Mibs
netscreenNsrpTrack OBJECT IDENTIFIER ::= { netscreenNsrp 4 }
-- Netscreen Cluster Mibs
netscreenNsrpCluster OBJECT IDENTIFIER ::= { netscreenNsrp 5 }
-- Netscreen LinkInfo Mibs
netscreenNsrpLinkInfo OBJECT IDENTIFIER ::= { netscreenNsrp 6 }


          nsrpLinkInfoTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsrpLinkInfoEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of NSRP link info"
              ::= { netscreenNsrpLinkInfo 1 }

          nsrpLinkInfoEntry OBJECT-TYPE
              SYNTAX  NsrpLinkInfoEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "An entry containing attributes for nsrp link info"
              INDEX   { nsrpLinkInfoIndex }
              ::= { nsrpLinkInfoTable 1 }

          NsrpLinkInfoEntry ::=
              SEQUENCE {
                nsrpLinkInfoIndex
                        INTEGER,
                nsrpLinkInfoLinkType
                        INTEGER,
                nsrpLinkInfoChannel
                        DisplayString,
                nsrpLinkInfoMac
                        PhysAddress,
                nsrpLinkInfoState
                        INTEGER
              }

          nsrpLinkInfoIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "table index" 
              ::= { nsrpLinkInfoEntry 1 }

          nsrpLinkInfoLinkType OBJECT-TYPE
              SYNTAX  INTEGER {
                control(0),
                data(1),
                unused(2),
                hapath2(3)
              }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "link type" 
              ::= { nsrpLinkInfoEntry 2 }

          nsrpLinkInfoChannel OBJECT-TYPE
              SYNTAX  DisplayString(SIZE(0..32))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "link channel's name" 
              ::= { nsrpLinkInfoEntry 3 }

          nsrpLinkInfoMac OBJECT-TYPE
              SYNTAX  PhysAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "link channel's mac address" 
              ::= { nsrpLinkInfoEntry 4 }

          nsrpLinkInfoState OBJECT-TYPE
              SYNTAX  INTEGER {
                down(0),
                up(1)
              }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "link channel's state" 
              ::= { nsrpLinkInfoEntry 5 }


          nsrpClusterTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsrpClusterEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of cluster on the device."
              ::= { netscreenNsrpCluster 1 }

          nsrpClusterEntry OBJECT-TYPE
              SYNTAX  NsrpClusterEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "An entry containing attributes for nsrp cluster"
              INDEX   { nsrpClusterTblIndex }
              ::= { nsrpClusterTable 1 }

          NsrpClusterEntry ::=
              SEQUENCE {
                nsrpClusterTblIndex
                        INTEGER,
                nsrpClusterUnitId
                        INTEGER,
                nsrpClusterUnitCtrlMac
                        PhysAddress,
                nsrpClusterUnitDataMac
                        PhysAddress
              }

          nsrpClusterTblIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "table index" 
              ::= { nsrpClusterEntry 1 }

          nsrpClusterUnitId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Unit id in this cluster" 
              ::= { nsrpClusterEntry 2 }

          nsrpClusterUnitCtrlMac OBJECT-TYPE
              SYNTAX  PhysAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Unit id's control path mac address" 
              ::= { nsrpClusterEntry 3 }

          nsrpClusterUnitDataMac OBJECT-TYPE
              SYNTAX  PhysAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Unit id's data path mac address" 
              ::= { nsrpClusterEntry 4 }
                        

     -------------------
     -- the NSRP general
     ------------------- 
         -- the NSRP cluster id
        nsrpGeneralClusterId OBJECT-TYPE
              SYNTAX  INTEGER 
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The cluster ID"
              ::= { netscreenNsrpGeneral 1 }
       nsrpGeneralLocalUnitId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                     "local device's unit ID"
              ::= { netscreenNsrpGeneral 2}

       nsrpGeneralEncrypEnable OBJECT-TYPE
              SYNTAX  INTEGER {
              disabled(0),
              enabled(1)
              }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                     "NSRP encryption enabled"
              ::= { netscreenNsrpGeneral 3}

       nsrpGeneralAuthEnable OBJECT-TYPE
              SYNTAX  INTEGER {
              disabled(0),
              enabled(1)
              }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                     "NSRP authentication enabled"
              ::= { netscreenNsrpGeneral 4}

       nsrpGeneralIfMonitor OBJECT-TYPE
              SYNTAX  DisplayString(SIZE(0..64))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                     "interface being monitored"
              ::= { netscreenNsrpGeneral 5}

       nsrpGeneralGratArps OBJECT-TYPE
              SYNTAX  INTEGER 
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                     "number of gratuitious arps"
              ::= { netscreenNsrpGeneral 6}

       
     --------------------
     -- the NSRP VSD Group  
     --------------------
          nsrpVsdGeneral OBJECT IDENTIFIER  ::= {netscreenNsrpVSD 4}
          nsrpVsdGeneralInitHoldTime OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "VSD group init hold time (in second)"
              ::= { nsrpVsdGeneral 1 }  
          nsrpVsdGeneralHbInterval OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "VSD heart beat interval.(in milisecond)"
              ::= { nsrpVsdGeneral 2 }  
          nsrpVsdGeneralHbLostThres OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "vsd heartbeat lost threshold"
              ::= { nsrpVsdGeneral 3 }  

         -- the NSRP VSD local unit information table
          -- The vsi unit table contains a number of  
          -- vsi groups on a device
          nsrpVsdGroupTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsrpVsdGroupEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of VSD groups on the device."
              ::= { netscreenNsrpVSD 1 }

          nsrpVsdGroupEntry OBJECT-TYPE
              SYNTAX  NsrpVsdGroupEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "An entry containing attributes for a track ip"
              INDEX   { nsrpVsdGroupID }
              ::= { nsrpVsdGroupTable 1 }

          NsrpVsdGroupEntry ::=
              SEQUENCE {
                nsrpVsdGroupID
                        INTEGER,
                nsrpVsdGroupPriority
                        INTEGER,
                nsrpVsdGroupPreempt
                        INTEGER,
                nsrpVsdGroupHoldDownTime
                        INTEGER,
                nsrpVsdGroupNumberOfUnit
                        INTEGER,
                nsrpVsdGroupCntStateChange
                        INTEGER,
                nsrpVsdGroupCntToInit
                        INTEGER,
                nsrpVsdGroupCntToMaster
                        INTEGER,
                nsrpVsdGroupCntToPBackup
                        INTEGER,
                nsrpVsdGroupCntToBackup
                        INTEGER,
                nsrpVsdGroupCntToIneligible
                        INTEGER,
                nsrpVsdGroupCntToInoperable
                        INTEGER,
                nsrpVsdGroupCntMasterConflict
                        INTEGER,
                nsrpVsdGroupCntPbConfilict
                        INTEGER,
                nsrpVsdGroupCntHeartbeatTx
                                INTEGER,
                nsrpVsdGroupCntHeartbeatRx
                                INTEGER
              }

          nsrpVsdGroupID OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "one group ID the device belongs to." 
              ::= { nsrpVsdGroupEntry 1 }
          nsrpVsdGroupPriority OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "local unit in current group's priority."
                  ::= { nsrpVsdGroupEntry 2 }
          nsrpVsdGroupPreempt OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "local unit in current group's preempt."
                  ::= { nsrpVsdGroupEntry 3 }
          nsrpVsdGroupHoldDownTime OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "TBD"
                  ::= { nsrpVsdGroupEntry 4 }
          nsrpVsdGroupNumberOfUnit OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "unit quantity in this group."
                  ::= { nsrpVsdGroupEntry  5}
          nsrpVsdGroupCntStateChange OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "total number of state transition events"
              ::= { nsrpVsdGroupEntry 6 }
          nsrpVsdGroupCntToInit OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of state transition into init state, which is as out of ineligible state`"
                  ::= { nsrpVsdGroupEntry 7 }
          nsrpVsdGroupCntToMaster OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of state transition into master state"
                  ::= { nsrpVsdGroupEntry 8 }
          nsrpVsdGroupCntToPBackup OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of state transition into primary backup state"
                  ::= { nsrpVsdGroupEntry 9 }
          nsrpVsdGroupCntToBackup OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of state transition into backup state."
                  ::= { nsrpVsdGroupEntry  10 }
          nsrpVsdGroupCntToIneligible OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of state transition into ineligible  state."
                  ::= { nsrpVsdGroupEntry 11 }
          nsrpVsdGroupCntToInoperable OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of state transition into inoperable  state."
                  ::= { nsrpVsdGroupEntry 12 }
          nsrpVsdGroupCntMasterConflict OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of times multiple masters exist while the local unit is in master state."
                  ::= { nsrpVsdGroupEntry  13}
          nsrpVsdGroupCntPbConfilict OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of times multiple primary backups exist while the local unit is in primary backup state."
                  ::= { nsrpVsdGroupEntry 14 }
          nsrpVsdGroupCntHeartbeatTx OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of heart beat transfered by a group."
                  ::= { nsrpVsdGroupEntry 15 }
          nsrpVsdGroupCntHeartbeatRx OBJECT-TYPE
                  SYNTAX  INTEGER
                  ACCESS  read-only
                  STATUS  mandatory
                  DESCRIPTION
                          "number of heart beat received by a group."
                  ::= { nsrpVsdGroupEntry 16 }

         -- the NSRP VSD membership table
          -- The vsi membership table contains a number of  
          --  devices' attribute within a vsi groups
          nsrpVsdMemberTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsrpVsdMemberEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of devices within the VSD group."
              ::= { netscreenNsrpVSD 2 }

          nsrpVsdMemberEntry OBJECT-TYPE
              SYNTAX  NsrpVsdMemberEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A entry containing attributes of one device in a group"
              INDEX   { nsrpVsdMemberGroupId ,nsrpVsdMemberUnitId }
              ::= { nsrpVsdMemberTable 1 }

          NsrpVsdMemberEntry ::=
              SEQUENCE {
                    nsrpVsdMemberGroupId
                    INTEGER,
                nsrpVsdMemberUnitId
                    INTEGER,             
                nsrpVsdMemberStatus
                    INTEGER,
                nsrpVsdMemberPriority
                    INTEGER,
                nsrpVsdMemberPreempt
                    INTEGER
              }
          nsrpVsdMemberGroupId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "indicate the Group it belong to" 
              ::= { nsrpVsdMemberEntry 1 }
          nsrpVsdMemberUnitId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "VSD group member's unit id"
              ::= { nsrpVsdMemberEntry 2 }

          nsrpVsdMemberStatus OBJECT-TYPE
              SYNTAX  INTEGER  {
                                        undefined(0),
                                        init(1),
                                        master(2),
                                        primary-backup(3),
                                        backup(4),
                                        ineligible(5),
                                        inoperable(6)
                        }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Undefined
                       1 init
                       2 Master
                       3 Primary Backup
                       4 Backup
                       5 ineligible 
                       6 inoperable" 
              ::= { nsrpVsdMemberEntry 3 }
          nsrpVsdMemberPriority OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Priority of unit in this group"
              ::= { nsrpVsdMemberEntry 4 }
          nsrpVsdMemberPreempt OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "unit in current group's preempt"
              ::= { nsrpVsdMemberEntry 5 }


         -- the NSRP VSD interface table
          -- The vsi interface table contains a number of  
          --  virtual secure interface on a device
          nsrpVsdInterfaceTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsRpVsdInterfaceEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of VSD interfaces on the device."
              ::= { netscreenNsrpVSD 3 }


          nsrpVsdInterfaceEntry OBJECT-TYPE
              SYNTAX  NsRpVsdInterfaceEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A track entry containing attributes for a track ip"
              INDEX   { nsrpVsdIfIndex }
              ::= { nsrpVsdInterfaceTable 1 }

          NsRpVsdInterfaceEntry ::=
              SEQUENCE {
                nsrpVsdIfIndex
                        INTEGER,
                nsrpVsdIfStatus
                        INTEGER,
                nsrpVsdIfGroupId
                        INTEGER,
                nsrpVsdIfIp
                    IpAddress,
                nsrpVsdIfNetmask
                        IpAddress,
                nsrpVsdIfGateway
                        IpAddress,
                nsrpVsdIfName
                    DisplayString,
                nsrpVsdIfVLAN
                        INTEGER,
                nsrpVsdIfMAC
                        PhysAddress,
                nsrpVsdIfVSys
                        DisplayString,
                nsrpVsdIfMngTelnet
                        INTEGER,
                nsrpVsdIfMngSCS
                        INTEGER,
                nsrpVsdIfMngWEB
                        INTEGER,
                nsrpVsdIfMngSSL
                        INTEGER,
                nsrpVsdIfMngSNMP
                        INTEGER,
                nsrpVsdIfMngGlobal
                        INTEGER,
                nsrpVsdIfMngGlobalPro
                        INTEGER,
                nsrpVsdIfMngPing
                        INTEGER,
                nsrpVsdIfMngIdentReset
                        INTEGER
              }

          nsrpVsdIfIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A index." 
              ::= { nsrpVsdInterfaceEntry 1 }
          nsrpVsdIfStatus OBJECT-TYPE
              SYNTAX  INTEGER   {
                          down(0),
                          inactive(1),
                          active(2)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "indicate the status of this vsi interface"
              ::= { nsrpVsdInterfaceEntry 2 }
          nsrpVsdIfGroupId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "indicate the group it belong to"
              ::= { nsrpVsdInterfaceEntry 3 }
          nsrpVsdIfIp OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "ip ADDRESS" 
              ::= { nsrpVsdInterfaceEntry 4 }
          nsrpVsdIfNetmask OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "subnet mask" 
              ::= { nsrpVsdInterfaceEntry 5 }
          nsrpVsdIfGateway OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "gateway" 
              ::= { nsrpVsdInterfaceEntry 6 }
          nsrpVsdIfName OBJECT-TYPE
              SYNTAX  DisplayString(SIZE(0..32))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "trust/untrust/DMZ" 
              ::= { nsrpVsdInterfaceEntry 7 }
          nsrpVsdIfVLAN OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "vlan -1 means no vlan" 
              ::= { nsrpVsdInterfaceEntry 8 }
          nsrpVsdIfMAC OBJECT-TYPE
              SYNTAX  PhysAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "mac address" 
              ::= { nsrpVsdInterfaceEntry 9 }
          nsrpVsdIfVSys OBJECT-TYPE
              SYNTAX  DisplayString(SIZE(0..32))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "virtual system" 
              ::= { nsrpVsdInterfaceEntry 10 }
          nsrpVsdIfMngTelnet OBJECT-TYPE
              SYNTAX  INTEGER {
                                                disable(0),
                                                enable(1)
                                }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 11 }
          nsrpVsdIfMngSCS OBJECT-TYPE
              SYNTAX  INTEGER {
                                                disable(0),
                                                enable(1)
                                }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 12 }
          nsrpVsdIfMngWEB OBJECT-TYPE
              SYNTAX  INTEGER {
                                                disable(0),
                                                enable(1)
                                }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 13 }
          nsrpVsdIfMngSSL OBJECT-TYPE
              SYNTAX  INTEGER {
                                                disable(0),
                                                enable(1)
                                }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 14 }
          nsrpVsdIfMngSNMP OBJECT-TYPE
              SYNTAX  INTEGER {
                                                disable(0),
                                                enable(1)
                                }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 15 }
          nsrpVsdIfMngGlobal OBJECT-TYPE
              SYNTAX  INTEGER {
                                                disable(0),
                                                enable(1)
                                }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 16 }
          nsrpVsdIfMngGlobalPro OBJECT-TYPE
              SYNTAX  INTEGER {
                                                disable(0),
                                                enable(1)
                                }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 17 }
          nsrpVsdIfMngPing OBJECT-TYPE
              SYNTAX  INTEGER {
                                                disable(0),
                                                enable(1)
                                }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 18 }
          nsrpVsdIfMngIdentReset OBJECT-TYPE
              SYNTAX  INTEGER  {
                                                disable(0),
                                                enable(1)
                                }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 Disable
                       1 Enable" 
              ::= { nsrpVsdInterfaceEntry 19 }
       
     --------------------
     -- the NSRP RTO Group  
     --------------------
         -- the NSRP RTO group table
          -- The vsi group table contains a number of  
          -- vsi groups on a device
          nsrpRtoGroupTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsRpRtoGroupEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of RTO groups on the device."
              ::= { netscreenNsrpRTO 1 }


          nsrpRtoGroupEntry OBJECT-TYPE
              SYNTAX  NsRpRtoGroupEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "An entry containing attributes for RTO group"
              INDEX   { nsrpRtoGroupId }
              ::= { nsrpRtoGroupTable 1 }

          NsRpRtoGroupEntry ::=
              SEQUENCE {
                        nsrpRtoGroupId
                        INTEGER,
                nsrpRtoNumOfUnit
                        INTEGER
              }

          nsrpRtoGroupId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A RTO group ID.also used as table index" 
              ::= { nsrpRtoGroupEntry 1 }
          nsrpRtoNumOfUnit OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "how many units in this RTO group" 
              ::= { nsrpRtoGroupEntry 2 }         

         -- the NSRP RTO unit table
          -- The rto unit table contains a number of  
          --  devices within a rto groups
          nsrpRtoUnitTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsRpRtoUnitEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of device status within a RTO group."
              ::= { netscreenNsrpRTO 2 }  
             

          nsrpRtoUnitEntry OBJECT-TYPE
              SYNTAX  NsRpRtoUnitEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A track entry containing attributes for a track ip"
              INDEX   { nsrpRtoUnitGroupId, nsrpRtoUnitId }
              ::= { nsrpRtoUnitTable 1 }

          NsRpRtoUnitEntry ::=
              SEQUENCE {
                        nsrpRtoUnitGroupId
                        INTEGER,
                nsrpRtoUnitId
                        INTEGER,
                nsrpRtoUnitStatus
                        INTEGER,
                nsrpRtoUnitDirection
                    INTEGER,
                nsrpRtoUnitLostHeartbeat
                    Counter,
                nsrpRtoUnitToActive
                    Counter,
                nsrpRtoUnitToSet
                    Counter,
                nsrpRtoUnitLostPeer
                    Counter,
                nsrpRtoUnitGroupDetach
                    Counter                     
              }

          nsrpRtoUnitGroupId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The RTO group id, a unit belongs to" 
              ::= { nsrpRtoUnitEntry 1 }
          nsrpRtoUnitId OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "device's unit id." 
              ::= { nsrpRtoUnitEntry 2 }
          nsrpRtoUnitStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                        undefined(0),
                        set(1),
                    active(2)
                }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The RTO group id, a unit belongs to" 
              ::= { nsrpRtoUnitEntry 3 }
          nsrpRtoUnitDirection OBJECT-TYPE
              SYNTAX  INTEGER {
                        out(1),
                    in(2)
                }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The RTO uint's dirction in the group" 
              ::= { nsrpRtoUnitEntry 4 }
          nsrpRtoUnitLostHeartbeat OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "counter of heartbeat" 
              ::= { nsrpRtoUnitEntry 5 }
          nsrpRtoUnitToActive OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "counter of active" 
              ::= { nsrpRtoUnitEntry 6 }
          nsrpRtoUnitToSet OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "counter of set" 
              ::= { nsrpRtoUnitEntry 7 }
          nsrpRtoUnitLostPeer OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "counter of lost peer" 
              ::= { nsrpRtoUnitEntry 8 }
          nsrpRtoUnitGroupDetach OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "counter of rto group detach" 
              ::= { nsrpRtoUnitEntry 9 }
                                                  
          nsrpRtoGeneral OBJECT IDENTIFIER  ::= {netscreenNsrpRTO 4}
          nsrpRtoGeneralHbInterval OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "rto heart beat interval."
              ::= { nsrpRtoGeneral 1 }  
          nsrpRtoGeneralHbLostThres OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "rto heartbeat lost threshold"
              ::= { nsrpRtoGeneral 2 }  
          nsrpRtoGeneralSessSyncEnable OBJECT-TYPE
              SYNTAX  INTEGER {
                disabled(0),
                enabled(1)
              }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "session sync enabled."
              ::= { nsrpRtoGeneral 3 }  
                                                  
         -- the NSRP RTO Counter 
         -- The rto unit table contains a number of  
          --  devices within a rto groups
          nsrpRtoCounter OBJECT IDENTIFIER  ::= {netscreenNsrpRTO 3}
          nsrpRtoCounterPakForwarded OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "packets forwarded by rto."
              ::= { nsrpRtoCounter 1 }  
          nsrpRtoCounterPakReceived OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "packets received by rto."
              ::= { nsrpRtoCounter 2 }  

         -- the NSRP counter table
          nsrpRtoCounterTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsRpRtoCounterEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of rto counter object entry. "
              ::= { nsrpRtoCounter 3 }

          nsrpRtoCounterEntry OBJECT-TYPE
              SYNTAX  NsRpRtoCounterEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A rto counter entry containing attributes for a rto counter obj."
              INDEX   { nsrpRtoCounterIdx }
              ::= { nsrpRtoCounterTable 1 }

          NsRpRtoCounterEntry ::=
              SEQUENCE {
                                nsrpRtoCounterIdx
                                        INTEGER,
                        nsrpRtoCounterName
                        DisplayString,
                        nsrpRtoCounterSend
                                Counter,
                        nsrpRtoCounterReceive
                        Counter,
                        nsrpRtoCounterDrop
                        Counter
              }
          nsrpRtoCounterIdx OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "counter index."
              ::= { nsrpRtoCounterEntry 1 }
          nsrpRtoCounterName OBJECT-TYPE
              SYNTAX  DisplayString(SIZE(0..32))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Name of a rto counter object." 
              ::= { nsrpRtoCounterEntry 2 }
          nsrpRtoCounterSend OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Total number of message sent." 
              ::= { nsrpRtoCounterEntry 3 }
          nsrpRtoCounterReceive OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Total number of message received." 
              ::= { nsrpRtoCounterEntry 4 }
          nsrpRtoCounterDrop OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Total number of message dropped." 
              ::= { nsrpRtoCounterEntry 5 }

             
     --------------------
     -- the NSRP track ip  
     --------------------
         -- the NSRP track ip enable
          nsrpTrackEnable OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "0 means disable, 1 meams enable" 
              ::= { netscreenNsrpTrack 1 }  
                            
         -- the NSRP track ip enable
          nsrpTrackThreshold OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Failover Threshold" 
              ::= { netscreenNsrpTrack 2 }  

         -- the NSRP track ip enable
          nsrpTrackFailoverEnalble OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Failover enable switch"
              ::= { netscreenNsrpTrack 3 }
                            
         -- the NSRP track ip table
          -- The track ip table contains a number of devices 
          -- monitored by this device
          nsrpTrackTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF NsRpTrackEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of track ip entries. "
              ::= { netscreenNsrpTrack 4 }

          nsrpTrackEntry OBJECT-TYPE
              SYNTAX  NsRpTrackEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A track entry containing attributes for a track ip"
              INDEX   { nsrpTrackIpIndex }
              ::= { nsrpTrackTable 1 }

          NsRpTrackEntry ::=
              SEQUENCE {
          nsrpTrackIpIndex
              INTEGER,
          nsrpTrackIpAddr 
              IpAddress,        
          nsrpTrackIpStatus
              INTEGER,
          nsrpTrackIpTimestamp
              INTEGER,
          nsrpTrackIpInterval
              INTEGER,
          nsrpTrackIpThreshhold
              INTEGER,
          nsrpTrackIpMethod
              INTEGER,
          nsrpTrackIpWeight
              INTEGER,
          nsrpTrackIpIfName
              DisplayString,
          nsrpTrackIpTotalCheck
              INTEGER,
          nsrpTrackIpTotalFailedCheck
              INTEGER
              }

          nsrpTrackIpIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A unique value for each track ip.  Its value
                      ranges between 1 and 65535 and may not be contigous. 
                                  It has no other meaning but a pure index." 
              ::= { nsrpTrackEntry 1 }

          nsrpTrackIpAddr OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The IP address of the monitored device."
              ::= { nsrpTrackEntry 2 }
          
          nsrpTrackIpStatus OBJECT-TYPE
              SYNTAX  INTEGER  {
                                success(0),
                                fail(1)
                        }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Status " 
              ::= { nsrpTrackEntry 3 }

          nsrpTrackIpTimestamp OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Timestamp of status change. Reference 1970/1/1 0:0" 
              ::= { nsrpTrackEntry 4 }

          nsrpTrackIpInterval OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A frequecy how the track ip is checked.  
                      It is in unit of seconds." 
              ::= { nsrpTrackEntry 5 }

          nsrpTrackIpThreshhold OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A number of consective failures to regard
                      the device has failed." 
              ::= { nsrpTrackEntry 6 }
          
          nsrpTrackIpMethod OBJECT-TYPE
              SYNTAX  INTEGER {
                                ping(0),
                                arp(1)
                        }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The method to track the device."
              ::= { nsrpTrackEntry 7 }

          nsrpTrackIpWeight OBJECT-TYPE
              SYNTAX  INTEGER 
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The weight of this failure contributing to the failover."
              ::= { nsrpTrackEntry 8 }

          nsrpTrackIpIfName OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..32))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The interface the track messages
                      are sent to. Auto means the actual interface
                      is determined by the routing table."
              ::= { nsrpTrackEntry 9 }

          nsrpTrackIpTotalCheck OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ping/arp attempts."
              ::= { nsrpTrackEntry 10 }
          
          nsrpTrackIpTotalFailedCheck OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of total failed attempts."
              ::= { nsrpTrackEntry 11 }
 
END